package com.lin.eventbus;

import com.lin.eventbus.concurrent.IFuture;
import com.lin.eventbus.function.Block1;
import org.jetbrains.annotations.NotNull;

/**
 * lin event future abstraction.
 *
 * @author Xiaohai Zhang
 * @since Dec 3, 2019
 */
public interface EventFuture extends IFuture<EventContext> {

    /**
     * Callback the specified action in case of event future discarded.
     */
    void addDiscardListener(@NotNull Block1<EventContext> action);
}
